package info.motteke.qjdbc.dto;

import info.motteke.qjdbc.column.Meta;
import info.motteke.qjdbc.db.Database;
import info.motteke.qjdbc.dto.DtoMeta.Pair;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Set;

public final class DtoMetaInnerAPI {

    public static <E> Database getDatabase(DtoMeta<E> meta) {
        return meta.getDatabase();
    }

    public static <E> E newInstance(DtoMeta<E> meta) {
        return meta.newInstance();
    }

    public static <E> void setValues(DtoMeta<E> meta, ResultSet rs, E obj, Set<Meta> columns)
            throws SQLException {
        meta.setValues(rs, obj, columns);
    }

    public static <E> void putValues(DtoMeta<E> meta, E obj, List<Pair> variables)
            throws SQLException {
        meta.putValues(obj, variables);
    }
}
